{ "cells": [ { "cell_type": "markdown", "id": "f2ce049f-4029-4fdb-8e59-70b69a778d7b", "metadata": {}, "source": [ "# 3. Supervised learning model development \n", "*Written by Men Vuthy, 2022*" ] }, { "cell_type": "markdown", "id": "14cb65e1", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "id": "4dade27b", "metadata": {}, "source": [ "**Import modules**" ] }, { "cell_type": "code", "execution_count": 1, "id": "9a3cf9db-33c3-4d5e-811b-593c6553cd70", "metadata": {}, "outputs": [], "source": [ "import os\n", "import pandas as pd\n", "import numpy as np\n", "np.random.seed(0)\n", "\n", "import rasterio\n", "import geopandas as gpd\n", "\n", "# Import scikit-learn modules\n", "from sklearn.datasets import load_iris\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score, confusion_matrix, classification_report\n", "import joblib\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from matplotlib import rc\n", "rc('text', usetex=True)" ] }, { "cell_type": "code", "execution_count": 2, "id": "c12b3b77-cf97-49e9-9aee-ab5f03a12d8b", "metadata": {}, "outputs": [], "source": [ "# Input classified data of each river\n", "Kano_classified = pd.read_csv('data/kano_river/out_img/classified/kano_classified.csv')\n", "Yoshii_classified = pd.read_csv('data/yoshii_river/out_img/classified/yoshii_classified.csv')" ] }, { "cell_type": "code", "execution_count": 3, "id": "065d4af1-951a-41e8-8ba1-ec9ba46169dc", "metadata": {}, "outputs": [], "source": [ "# Create dataframe containing all classified data\n", "classified_df = pd.concat([Kano_classified, Yoshii_classified], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 4, "id": "2dbb8b98-d749-4984-9761-f2f99f79c540", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | B1 | \n", "G1 | \n", "R1 | \n", "NIR1 | \n", "NDVI1 | \n", "NDWI1 | \n", "BSI1 | \n", "B2 | \n", "G2 | \n", "R2 | \n", "... | \n", "BSI3 | \n", "B4 | \n", "G4 | \n", "R4 | \n", "NIR4 | \n", "NDVI4 | \n", "NDWI4 | \n", "BSI4 | \n", "label | \n", "train | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "890 | \n", "992 | \n", "995 | \n", "1965 | \n", "0.242947 | \n", "-0.214166 | \n", "0.303773 | \n", "860 | \n", "912 | \n", "819 | \n", "... | \n", "0.325482 | \n", "655 | \n", "745 | \n", "768 | \n", "1148 | \n", "0.207700 | \n", "-0.172238 | \n", "0.307462 | \n", "6 | \n", "True | \n", "
| 1 | \n", "900 | \n", "990 | \n", "990 | \n", "2008 | \n", "0.255461 | \n", "-0.225427 | \n", "0.306076 | \n", "882 | \n", "936 | \n", "865 | \n", "... | \n", "0.332129 | \n", "652 | \n", "722 | \n", "735 | \n", "1072 | \n", "0.195912 | \n", "-0.154165 | \n", "0.310903 | \n", "6 | \n", "True | \n", "
| 2 | \n", "901 | \n", "972 | \n", "958 | \n", "1862 | \n", "0.235430 | \n", "-0.198141 | \n", "0.307286 | \n", "877 | \n", "915 | \n", "854 | \n", "... | \n", "0.329432 | \n", "636 | \n", "709 | \n", "733 | \n", "983 | \n", "0.155239 | \n", "-0.120563 | \n", "0.312732 | \n", "6 | \n", "True | \n", "
| 3 | \n", "801 | \n", "889 | \n", "863 | \n", "1576 | \n", "0.205786 | \n", "-0.160642 | \n", "0.297341 | \n", "846 | \n", "857 | \n", "799 | \n", "... | \n", "0.319362 | \n", "619 | \n", "683 | \n", "705 | \n", "874 | \n", "0.116680 | \n", "-0.080891 | \n", "0.314762 | \n", "6 | \n", "True | \n", "
| 4 | \n", "842 | \n", "893 | \n", "896 | \n", "1301 | \n", "0.093848 | \n", "-0.063836 | \n", "0.315164 | \n", "821 | \n", "811 | \n", "749 | \n", "... | \n", "0.313164 | \n", "572 | \n", "642 | \n", "652 | \n", "739 | \n", "0.072273 | \n", "-0.028123 | \n", "0.307235 | \n", "6 | \n", "True | \n", "
5 rows × 30 columns
\n", "